package verify

import (
	ut "github.com/go-playground/universal-translator"
	"github.com/go-playground/validator/v10"
)

// RegisterTranslator 给 tag 添加自定义的错误信息 <直接复制>
func RegisterTranslator(tag string, msg string) validator.RegisterTranslationsFunc {
	return func(trans ut.Translator) error {
		if err := trans.Add(tag, msg, false); err != nil {  // 默认 false，不要重写已有的
			return err
		}
		return nil
	}
}

// Translate 给自定义的字段创建翻译方法 <直接复制>
func Translate(trans ut.Translator, fe validator.FieldError) string {
	msg, err := trans.T(fe.Tag(), fe.Field(), fe.Param())

	//zaplog.L().Debug(fe.Tag())
	//zaplog.L().Debug(fe.Field())
	//zaplog.L().Debug(fe.Param())
	if err != nil {
		panic(fe.(error).Error())
	}
	return msg
}